import Vue from 'vue'
import Vuex from 'vuex'
import * as actions from './actions'
import * as getters from './getters'
import state from './state'
import mutations from './mutations'
// 每次通过mutation去修改state的时候，会通过控制台打印一条信息告诉我们修改了什么
import createLogger from 'vuex/dist/logger'

Vue.use(Vuex)

// 调试工具，查看我们是不是对mutation进行修改，如果不是会报错
// 如果我们是run dev的话，NODE_ENV就是dev环境
// 如果我们是run build的话，NODE_ENV就是production环境
//  当debug为true的时候，我们就开启这个严格模式
const debug = process.env.NODE_ENV !== 'production'

export default new Vuex.Store({
  actions,
  getters,
  state,
  mutations,
  strict: debug,
  plugins: debug ? [createLogger()] : []
})
